package com.atguigu;

import java.util.Iterator;
import java.util.List;

/**
 * 聚合类
 *
 * @author melo
 */
public class OutPutImpl {

    /**
     * 学院集合
     */
    List<College> collegeList;

    public OutPutImpl(List<College> collegeList) {
        this.collegeList = collegeList;
    }

    /**
     * 遍历所有学院,然后调用printDepartment输出各个学院的系
     */
    public void printCollege() {
        // 从collegeList取出所有学院, Java的List已经实现Iterator
        Iterator<College> iterator = collegeList.iterator();

        while (iterator.hasNext()) {
            // 取出一个学院
            College college = iterator.next();
            System.out.println("====" + college.getName() + "====");
            // 得到对应迭代器
            printDepartment(college.createIterator());
        }
    }

    /**
     * 输出学院, 输出系
     *
     * @param iterator 迭代器
     */
    public void printDepartment(Iterator<Department> iterator) {
        while (iterator.hasNext()) {
            Department d = iterator.next();
            System.out.println(d.getName());
        }
    }

}
